package pf;

import basic.ReturnCode;

//@ Project : Tinybase Java
//@ File Name : PF_BufferMgr.java
//@ Date : 16/05/2011


public interface PF_BufferMgr_Interface {

	public ReturnCode GetPage(int fd, int pageNum ,String ppBuffer ,int bMultiplePins );

	public ReturnCode AllocatePage(int fd, int pageNum , String ppBuffer );

	public ReturnCode MarkDirty(int fd, int pageNum );

	public ReturnCode Unpin(int fd, int pageNum );

	public ReturnCode Flush(int fd );

	public ReturnCode ForcePage(int fd , int pageNum );

	public ReturnCode ClearBuffer();

	public ReturnCode PrintBuffer();

	public ReturnCode ResizeBuffer(int iNewSize );

	public ReturnCode GetBlockSize(int length );

	public ReturnCode AllocateBlock(String buffer );

	public ReturnCode DisposeBlock(String buffer );

	public ReturnCode InsertFree(int slot );

	public ReturnCode LinkHead(int slot );

	public ReturnCode Unlink(int slot );

	public ReturnCode InternalAlloc(int slot);

	public ReturnCode ReadPage(int fd , int pageNum, String dest );

	public ReturnCode WritePage(int fd , int pageNum, String source );

	public ReturnCode InitPageDesc(int fd , int pageNum , int slot );
}

